module.exports = {
  apps: [
    {
      name: 'my-node-app',  // 应用名称
      script: './dist/index.mjs',  // 启动文件
      // instances: 'max',  // 启用集群模式，'max' 表示根据 CPU 核心数启动进程
      // exec_mode: 'cluster',  // 集群模式
      watch: false,  // 生产环境关闭观察模式
      max_memory_restart: '1G',  // 超过 1G 内存自动重启
      
      // 环境变量配置
      env: {
        NODE_ENV: 'production',
        PORT: 3000
      },
      
      // 开发环境配置
      env_development: {
        NODE_ENV: 'development',
        PORT: 3000
      },

      // 日志配置
      log_date_format: 'YYYY-MM-DD HH:mm:ss',
      error_file: './logs/error.log',
      out_file: './logs/out.log',
      merge_logs: true,
      
      // 优雅重启和关闭
      kill_timeout: 3000,    // 发送最终 SIGKILL 信号前的等待时间
      wait_ready: true,      // 等待进程发送 ready 信号
      listen_timeout: 3000,  // 等待 ready 信号的时间
      
      // 自动重启配置
      autorestart: true,
      max_restarts: 10,
      restart_delay: 4000
    }
  ]
} 